home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 201-220 / scopedisk202 / bbbbs2 / rexx / bbsusage.baud < prev    next >
Text File  |  1995-03-19  |  2KB  |  86 lines

  1. /* Usage.baud */
  2.  
  3. OPTIONS RESULTS
  4. CR='0D'x
  5.  
  6. tm=DATE()
  7. PARSE VAR tm d' 'm' 'y .
  8.  
  9. ds=""
  10. dd=""
  11. PARSE ARG dd .
  12. IF dd="" THEN ds=m||y
  13. ELSE ds=dd
  14.  
  15. bbspath=GETCLIP('BBS_path')
  16. filename=bbspath'Usage/Usage.'ds
  17.  
  18. omin=0
  19. ohour=0
  20.  
  21. IF ~OPEN(fh,filename) THEN
  22.   DO
  23.     IF dd~='' THEN
  24.       DO
  25.         SAY filename 'not found'CR
  26.         EXIT(0)
  27.       END
  28.     SAY 'BBS Usage: Opening new' filename || CR
  29.     IF ~Open(fh,filename,'W') THEN
  30.       DO
  31.         SAY 'Failed to open' filename || CR
  32.         SAY 'Write down the time!!'CR /* write protected?  what?? */
  33.         EXIT(0)
  34.       END
  35.   END
  36. ELSE
  37.   DO WHILE ~EOF(fh)  /* add up saved time logs */
  38.     line=READLN(fh)
  39.     IF(line~='') THEN
  40.       DO
  41.         PARSE VAR line thour':'tmin .
  42.         IF DATATYPE(thour)~='N' THEN thour=tmin=0
  43.         omin=omin+tmin
  44.         ohour=ohour+thour
  45.         IF(omin>59) THEN
  46.           DO
  47.             omin=omin-60
  48.             ohour=ohour+1
  49.           END
  50.       END
  51.   END
  52.  
  53. elapsed=GETCLIP('BBS_elapsed')
  54. IF elapsed~='' THEN
  55.   DO
  56.     PARSE VAR elapsed thour':'tmin':'tsec
  57.     CALL SETCLIP('BBS_elapsed')
  58.     IF ~DATATYPE(thour,'N') THEN thour=0
  59.     IF ~DATATYPE(tmin,'N') THEN tmin=0
  60.     IF ~DATATYPE(tsec,'N') THEN tsec=0
  61.  
  62.     IF tsec>5 THEN tmin=tmin+1  /* slight adjust for min round up */
  63.     IF(tmin>59) THEN
  64.       DO
  65.         tmin=tmin-60
  66.         thour=thour+1
  67.       END
  68.     line=Right(thour,2)':'Right(tmin,2,0) ' 'Date(u) Time() /* eh:em  mm/dd/yy hh:mm:ss */
  69.     IF(tmin~=0 | thour~=0) THEN CALL WRITELN(fh,line)
  70.  
  71.     omin=omin+tmin      /* add new time to total for display */
  72.     ohour=ohour+thour
  73.     IF(omin>59) THEN
  74.       DO
  75.         omin=omin-60
  76.         ohour=ohour+1
  77.       END
  78.   END
  79.  
  80. line=ds'  BBS Monthly Usage Totals ' ohour':'RIGHT(omin,2,0)'  as of' DATE()
  81. CALL SETCLIP('BBS_totalusage',ohour omin)
  82. SAY '9B'x'42m'line'9B'x'0m'CR
  83. EXIT(0);
  84.  
  85. /* end Usage.baud */
  86.